package sv.gob.mh.dgii.model;

import java.util.List;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Table;


@Entity
@Table(name = "QD_DENUNCIA", schema = "DEFCONTRIB")
@DiscriminatorValue(value="D")
public class QdDenuncia extends QdCaso {
	private static final long serialVersionUID = 1L;
	public static final String TIPO_CASO_DENUNCIA = "D";
        	private String nitDenunciante;
        	private String nombreDenunciante;
                private String nitDenunciado;
                private String nombreDenunciado;
        	private String nrc;
        	private String direccion;
        	private String nombreComercial;
        	private String actividadEconomica;
        	private String impuesto;
        	private String periodo;
        	private String observaciones;
	private Integer folios;
        	private String uscd;
	
		private List<String> gestiones;
        
	
	public QdDenuncia() {
		tipoCaso = TIPO_CASO_DENUNCIA;
	}

@Column(name = "NIT_DENUNCIANTE")
    		public String getNitDenunciante() {
		return this.nitDenunciante;
	}

	public void setNitDenunciante(String nitDenunciante) {
		this.nitDenunciante = nitDenunciante;
	}

    @Column(name = "NOMBRE_DENUNCIANTE")
            	public String getNombreDenunciante() {
		return this.nombreDenunciante;
	}

	public void setNombreDenunciante(String nombreDenunciante) {
		this.nombreDenunciante = nombreDenunciante;
	}

    @Column(name = "NIT_DENUNCIADO")
            	public String getNitDenunciado() {
		return this.nitDenunciado;
	}

	public void setNitDenunciado(String nitDenunciado) {
		this.nitDenunciado = nitDenunciado;
	}

    @Column(name = "NOMBRE_DENUNCIADO")
    		public String getNombreDenunciado() {
		return this.nombreDenunciado;
	}

	public void setNombreDenunciado(String nombreDenunciado) {
		this.nombreDenunciado = nombreDenunciado;
	}

    @Column(name = "NRC")
    		public String getNrc() {
		return this.nrc;
	}

	public void setNrc(String nrc) {
		this.nrc = nrc;
	}

    @Column(name = "DIRECCION")
    		public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

    @Column(name = "NOMBRE_COMERCIAL")
    		public String getNombreComercial() {
		return this.nombreComercial;
	}

	public void setNombreComercial(String nombreComercial) {
		this.nombreComercial = nombreComercial;
	}

    @Column(name = "ACTIVIDAD_ECONOMICA")
    		public String getActividadEconomica() {
		return this.actividadEconomica;
	}

	public void setActividadEconomica(String actividadEconomica) {
		this.actividadEconomica = actividadEconomica;
	}

    @Column(name = "IMPUESTO")
    		public String getImpuesto() {
		return this.impuesto;
	}

	public void setImpuesto(String impuesto) {
		this.impuesto = impuesto;
	}

    @Column(name = "PERIODO")
           		public String getPeriodo() {
		return this.periodo;
	}

	public void setPeriodo(String periodo) {
		this.periodo = periodo;
	}

    @Column(name = "OBSERVACIONES")
    		public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

      	@Column(name = "FOLIOS")
	public Integer getFolios() {
		return this.folios;
	}
	public void setFolios(Integer folios) {
		this.folios = folios;
	}

    @ElementCollection
    @JoinTable(
                    schema = "DEFCONTRIB",
                    name = "QD_DENUNCIA_GESTION",
                    joinColumns = @JoinColumn(name = "ID_CASO")
    )
    @Column(name = "ID_GESTION", nullable = false)
	public List<String> getGestiones() {
		return gestiones;
	}

	public void setGestiones(List<String> gestiones) {
		this.gestiones = gestiones;
	}

    @Column(name = "USCD")
	public String getUscd() {
		return uscd;
	}

	public void setUscd(String uscd) {
		this.uscd = uscd;
	}
	@Override
	public void setTipoCaso(String tipoCaso) {
		//Not implemented
	}
}
